 package handling.channel.handler;

 import client.MapleCharacter;
import client.MapleClient;
import client.skills.Skill;
import client.skills.SkillFactory;
import tools.AttackPair;
import tools.Pair;
import tools.data.input.LittleEndianAccessor;

import java.util.ArrayList;
import java.util.List;













 public class 攻击解析
 {
   public static AttackInfo 解析轨道烈焰攻击(LittleEndianAccessor lea, MapleClient c, MapleCharacter chr) {
/*   19 */     AttackInfo ai = new AttackInfo();
/*   20 */     lea.readInt();
/*   21 */     lea.readInt();
/*   22 */     lea.readInt();

/*   24 */     lea.readByte();
/*   25 */     ai.numAttackedAndDamage = lea.readByte();
/*   26 */     ai.numAttacked = (byte)(ai.numAttackedAndDamage >>> 4 & 0xF);
/*   27 */     ai.numDamage = (byte)(ai.numAttackedAndDamage & 0xF);

/*   29 */     lea.readInt();
/*   30 */     ai.skillId = lea.readInt();
/*   31 */     Skill skill = SkillFactory.getSkill(ai.skillId);
/*   32 */     ai.skllv = (byte)lea.readInt();
/*   33 */     lea.readByte();
/*   34 */     lea.readInt();
/*   35 */     lea.readInt();
/*   36 */     lea.readInt();


/*   39 */     lea.readByte();
/*   40 */     ai.starSlot = lea.readShort();
/*   41 */     lea.readInt();
/*   42 */     lea.readByte();
/*   43 */     lea.readByte();
/*   44 */     lea.readByte();
/*   45 */     lea.readInt();


/*   48 */     lea.readInt();
/*   49 */     lea.readByte();

/*   51 */     if (is_zero_skill(ai.skillId)) {
/*   52 */       ai.zeroUnk = lea.readByte();
     }
/*   54 */     lea.readByte();
/*   55 */     lea.readByte();

/*   57 */     ai.display = lea.readByte();
/*   58 */     ai.direction = lea.readByte();
/*   59 */     ai.position = lea.readPos();
/*   60 */     lea.readByte();
/*   61 */     ai.speed = lea.readByte();
/*   62 */     ai.lastAttackTickCount = lea.readInt();
/*   63 */     lea.readInt();
/*   64 */     lea.readInt();




/*   69 */     ai.allDamage = new ArrayList<>();
/*   70 */     ai.AttackSubInfo = new AttackSubInfo();
/*   71 */     boolean isOutput = false;
/*   72 */     long maxDamagePerHit = chr.getMaxDamageOver(ai.skillId);
/*   73 */     for (int i = 0; i < ai.numAttacked; i++) {
/*   74 */       int oid = lea.readInt();
/*   75 */       ai.AttackSubInfo.asibyteunk1 = lea.readByte();
/*   76 */       ai.AttackSubInfo.asibyteunk2 = lea.readByte();
/*   77 */       ai.AttackSubInfo.asibyteunk3 = lea.readByte();
/*   78 */       ai.AttackSubInfo.asibyteunk4 = lea.readByte();
/*   79 */       ai.AttackSubInfo.asibyteunk5 = lea.readByte();
/*   80 */       ai.AttackSubInfo.asiintunk1 = lea.readInt();
/*   81 */       ai.AttackSubInfo.asibyteunk6 = lea.readByte();
/*   82 */       ai.AttackSubInfo.asishortunk1 = lea.readShort();
/*   83 */       ai.AttackSubInfo.asishortunk2 = lea.readShort();
/*   84 */       ai.AttackSubInfo.asishortunk3 = lea.readShort();
/*   85 */       ai.AttackSubInfo.asishortunk4 = lea.readShort();
/*   86 */       ai.AttackSubInfo.asishortunk5 = lea.readShort();
/*   87 */       ai.AttackSubInfo.asiintunk2 = lea.readInt();
/*   88 */       ai.AttackSubInfo.asiintunk3 = lea.readInt();
/*   89 */       List<Pair<Long, Boolean>> allDamageNumbers = new ArrayList<>();
/*   90 */       for (int j = 0; j < ai.numDamage; j++) {
/*   91 */         long damage = lea.readLong();
/*   92 */         if (chr.isShowPacket()) {
/*   93 */           chr.dropDebugMessage(2, "[轨道攻击] 怪物ID: " + oid + " 打怪次数: " + ai.numDamage + " 伤害: " + damage + " 技能ID: " + SkillFactory.getSkillName(ai.skillId) + "(" + ai.skillId + ")");
         }
/*   95 */         allDamageNumbers.add(new Pair(Long.valueOf(damage), Boolean.valueOf(false)));
       }
/*   97 */       ai.AttackSubInfo.asiintunk4 = lea.readInt();
/*   98 */       ai.AttackSubInfo.asiintunk5 = lea.readInt();


/*  101 */       ai.AttackSubInfo.asibyteunk7 = lea.readByte();
/*  102 */       ai.AttackSubInfo.asibyteunk8 = lea.readByte();

/*  104 */       ai.AttackSubInfo.asishortunk6 = lea.readShort();
/*  105 */       ai.AttackSubInfo.asishortunk7 = lea.readShort();
/*  106 */       ai.AttackSubInfo.asishortunk8 = lea.readShort();
/*  107 */       ai.AttackSubInfo.asishortunk9 = lea.readShort();
/*  108 */       ai.AttackSubInfo.asishortunk10 = lea.readShort();
/*  109 */       ai.AttackSubInfo.asishortunk11 = lea.readShort();
/*  110 */       lea.skip(1);
/*  111 */       ai.allDamage.add(new AttackPair(oid, allDamageNumbers));
     }

/*  114 */     ai.position = lea.readPos();
/*  115 */     return ai;
   }


   public static AttackInfo 解析远距离攻击(LittleEndianAccessor lea, MapleClient c, MapleCharacter chr) {
/*  120 */     AttackInfo ai = new AttackInfo();
/*  121 */     ai.isCloseRangeAttack = true;
/*  122 */     lea.readByte();
/*  123 */     lea.readByte();
/*  124 */     ai.numAttackedAndDamage = lea.readByte();
/*  125 */     ai.numAttacked = (byte)(ai.numAttackedAndDamage >>> 4 & 0xF);
/*  126 */     ai.numDamage = (byte)(ai.numAttackedAndDamage & 0xF);

/*  128 */     lea.readInt();
/*  129 */     ai.skillId = lea.readInt();
/*  130 */     Skill skill = SkillFactory.getSkill(ai.skillId);
/*  131 */     ai.skllv = (byte)lea.readInt();
/*  132 */     lea.readByte();
/*  133 */     lea.readInt();
/*  134 */     lea.readInt();
/*  135 */     lea.readInt();

/*  137 */     lea.readByte();
/*  138 */     ai.starSlot = lea.readShort();
/*  139 */     lea.readInt();
/*  140 */     lea.readByte();
/*  141 */     lea.readByte();
/*  142 */     lea.readByte();
/*  143 */     lea.readInt();


/*  146 */     lea.readInt();
/*  147 */     lea.readByte();

/*  149 */     if (is_keydown_skill(ai.skillId))
/*  150 */       lea.readInt();
/*  151 */     if (is_zero_skill(ai.skillId))
/*  152 */       ai.zeroUnk = lea.readByte();
/*  153 */     if (is_userclone_summoned_able_skill(ai.skillId)) {
/*  154 */       lea.readInt();
     }
/*  156 */     if (ai.skillId == 5310011) {
/*  157 */       lea.readInt();
/*  158 */       lea.readInt();
     }

/*  161 */     lea.readByte();
/*  162 */     lea.readByte();
/*  163 */     lea.readInt();
/*  164 */     lea.readByte();
/*  165 */     ai.display = lea.readByte();
/*  166 */     ai.direction = lea.readByte();
/*  167 */     ai.position = lea.readPos();
/*  168 */     lea.readByte();

/*  170 */     if (ai.skillId == 23111001 || ai.skillId == 80001915 || ai.skillId == 36111010) {
/*  171 */       lea.readInt();
/*  172 */       lea.readInt();
/*  173 */       lea.readInt();
     }
/*  175 */     ai.speed = lea.readByte();
/*  176 */     ai.lastAttackTickCount = lea.readInt();
/*  177 */     lea.readInt();
/*  178 */     lea.readInt();
/*  179 */     lea.readShort();

/*  181 */     if (SkillFactory.isFinalAttackSkills(Integer.valueOf(ai.skillId))) {
/*  182 */       lea.readByte();
     }

/*  185 */     lea.readByte();
/*  186 */     lea.readShort();
/*  187 */     lea.readShort();
/*  188 */     lea.readShort();
/*  189 */     lea.readShort();




/*  194 */     ai.allDamage = new ArrayList<>();
/*  195 */     ai.AttackSubInfo = new AttackSubInfo();
/*  196 */     boolean isOutput = false;
/*  197 */     long maxDamagePerHit = chr.getMaxDamageOver(ai.skillId);
/*  198 */     for (int i = 0; i < ai.numAttacked; i++) {
/*  199 */       int oid = lea.readInt();
/*  200 */       ai.AttackSubInfo.asibyteunk1 = lea.readByte();
/*  201 */       ai.AttackSubInfo.asibyteunk2 = lea.readByte();
/*  202 */       ai.AttackSubInfo.asibyteunk3 = lea.readByte();
/*  203 */       ai.AttackSubInfo.asibyteunk4 = lea.readByte();
/*  204 */       ai.AttackSubInfo.asibyteunk5 = lea.readByte();
/*  205 */       ai.AttackSubInfo.asiintunk1 = lea.readInt();
/*  206 */       ai.AttackSubInfo.asibyteunk6 = lea.readByte();
/*  207 */       ai.AttackSubInfo.asishortunk1 = lea.readShort();
/*  208 */       ai.AttackSubInfo.asishortunk2 = lea.readShort();
/*  209 */       ai.AttackSubInfo.asishortunk3 = lea.readShort();
/*  210 */       ai.AttackSubInfo.asishortunk4 = lea.readShort();
/*  211 */       ai.AttackSubInfo.asishortunk5 = lea.readShort();
/*  212 */       ai.AttackSubInfo.asiintunk2 = lea.readInt();
/*  213 */       ai.AttackSubInfo.asiintunk3 = lea.readInt();
/*  214 */       List<Pair<Long, Boolean>> allDamageNumbers = new ArrayList<>();
/*  215 */       for (int j = 0; j < ai.numDamage; j++) {
/*  216 */         long damage = lea.readLong();
/*  217 */         if (chr.isShowPacket()) {
/*  218 */           chr.dropDebugMessage(2, "[远距离攻击] 怪物ID: " + oid + " 打怪次数: " + ai.numDamage + " 伤害: " + damage + " 技能ID: " + SkillFactory.getSkillName(ai.skillId) + "(" + ai.skillId + ")");
         }
/*  220 */         allDamageNumbers.add(new Pair(Long.valueOf(damage), Boolean.valueOf(false)));
       }
/*  222 */       ai.AttackSubInfo.asiintunk4 = lea.readInt();
/*  223 */       ai.AttackSubInfo.asiintunk5 = lea.readInt();


/*  226 */       ai.AttackSubInfo.asibyteunk7 = lea.readByte();
/*  227 */       ai.AttackSubInfo.asibyteunk8 = lea.readByte();

/*  229 */       ai.AttackSubInfo.asishortunk6 = lea.readShort();
/*  230 */       ai.AttackSubInfo.asishortunk7 = lea.readShort();
/*  231 */       ai.AttackSubInfo.asishortunk8 = lea.readShort();
/*  232 */       ai.AttackSubInfo.asishortunk9 = lea.readShort();
/*  233 */       ai.AttackSubInfo.asishortunk10 = lea.readShort();
/*  234 */       ai.AttackSubInfo.asishortunk11 = lea.readShort();
/*  235 */       lea.skip(1);
/*  236 */       ai.allDamage.add(new AttackPair(oid, allDamageNumbers));
     }

/*  239 */     ai.position = lea.readPos();
/*  240 */     return ai;
   }



   public static AttackInfo 解析被动攻击(LittleEndianAccessor lea, MapleClient c, MapleCharacter chr) {
/*  246 */     AttackInfo ai = new AttackInfo();
/*  247 */     ai.isCloseRangeAttack = true;
/*  248 */     lea.readByte();
/*  249 */     ai.numAttackedAndDamage = lea.readByte();
/*  250 */     ai.numAttacked = (byte)(ai.numAttackedAndDamage >>> 4 & 0xF);
/*  251 */     ai.numDamage = (byte)(ai.numAttackedAndDamage & 0xF);

/*  253 */     lea.readInt();
/*  254 */     ai.skillId = lea.readInt();
/*  255 */     Skill skill = SkillFactory.getSkill(ai.skillId);
/*  256 */     ai.skllv = (byte)lea.readInt();
/*  257 */     lea.readInt();
/*  258 */     lea.readInt();
/*  259 */     lea.readInt();

/*  261 */     lea.readByte();
/*  262 */     ai.starSlot = lea.readShort();
/*  263 */     lea.readInt();
/*  264 */     lea.readByte();
/*  265 */     lea.readByte();
/*  266 */     lea.readByte();
/*  267 */     lea.readInt();


/*  270 */     lea.readInt();
/*  271 */     lea.readByte();

/*  273 */     lea.readByte();
/*  274 */     lea.readByte();
/*  275 */     ai.display = lea.readByte();
/*  276 */     ai.direction = lea.readByte();
/*  277 */     ai.position = lea.readPos();
/*  278 */     lea.readByte();
/*  279 */     if (is_zero_skill(ai.skillId)) {
/*  280 */       lea.readByte();
     }
/*  282 */     ai.speed = lea.readByte();
/*  283 */     ai.lastAttackTickCount = lea.readInt();
/*  284 */     lea.readInt();




/*  289 */     ai.allDamage = new ArrayList<>();
/*  290 */     ai.AttackSubInfo = new AttackSubInfo();
/*  291 */     boolean isOutput = false;
/*  292 */     long maxDamagePerHit = chr.getMaxDamageOver(ai.skillId);

/*  294 */     for (int i = 0; i < ai.numAttacked; i++) {
/*  295 */       int oid = lea.readInt();
/*  296 */       ai.AttackSubInfo.asibyteunk1 = lea.readByte();
/*  297 */       ai.AttackSubInfo.asibyteunk2 = lea.readByte();
/*  298 */       ai.AttackSubInfo.asibyteunk3 = lea.readByte();
/*  299 */       ai.AttackSubInfo.asibyteunk4 = lea.readByte();
/*  300 */       ai.AttackSubInfo.asibyteunk5 = lea.readByte();
/*  301 */       ai.AttackSubInfo.asiintunk1 = lea.readInt();
/*  302 */       ai.AttackSubInfo.asibyteunk6 = lea.readByte();
/*  303 */       ai.AttackSubInfo.asishortunk1 = lea.readShort();
/*  304 */       ai.AttackSubInfo.asishortunk2 = lea.readShort();
/*  305 */       ai.AttackSubInfo.asishortunk3 = lea.readShort();
/*  306 */       ai.AttackSubInfo.asishortunk4 = lea.readShort();
/*  307 */       ai.AttackSubInfo.asishortunk5 = lea.readShort();
/*  308 */       ai.AttackSubInfo.asiintunk2 = lea.readInt();
/*  309 */       ai.AttackSubInfo.asiintunk3 = lea.readInt();
/*  310 */       List<Pair<Long, Boolean>> allDamageNumbers = new ArrayList<>();
/*  311 */       for (int j = 0; j < ai.numDamage; j++) {
/*  312 */         long damage = lea.readLong();
/*  313 */         if (chr.isAdmin()) {
/*  314 */           chr.dropDebugMessage(2, "[被动攻击] 怪物ID: " + oid + " 打怪次数: " + ai.numDamage + " 伤害: " + damage + " 技能ID: " + SkillFactory.getSkillName(ai.skillId) + "(" + ai.skillId + ")");
         }
/*  316 */         allDamageNumbers.add(new Pair(Long.valueOf(damage), Boolean.valueOf(false)));
       }
/*  318 */       ai.AttackSubInfo.asiintunk4 = lea.readInt();
/*  319 */       ai.AttackSubInfo.asiintunk5 = lea.readInt();


/*  322 */       ai.AttackSubInfo.asibyteunk7 = lea.readByte();
/*  323 */       ai.AttackSubInfo.asibyteunk8 = lea.readByte();

/*  325 */       ai.AttackSubInfo.asishortunk6 = lea.readShort();
/*  326 */       ai.AttackSubInfo.asishortunk7 = lea.readShort();
/*  327 */       ai.AttackSubInfo.asishortunk8 = lea.readShort();
/*  328 */       ai.AttackSubInfo.asishortunk9 = lea.readShort();
/*  329 */       ai.AttackSubInfo.asishortunk10 = lea.readShort();
/*  330 */       ai.AttackSubInfo.asishortunk11 = lea.readShort();
/*  331 */       lea.skip(1);
/*  332 */       ai.allDamage.add(new AttackPair(oid, allDamageNumbers));
     }

/*  335 */     ai.position = lea.readPos();

/*  337 */     return ai;
   }



   public static AttackInfo 解析魔法攻击(LittleEndianAccessor lea, MapleClient c, MapleCharacter chr) {
/*  343 */     AttackInfo ai = new AttackInfo();
/*  344 */     ai.isCloseRangeAttack = true;
/*  345 */     lea.readByte();
/*  346 */     ai.numAttackedAndDamage = lea.readByte();
/*  347 */     ai.numAttacked = (byte)(ai.numAttackedAndDamage >>> 4 & 0xF);
/*  348 */     ai.numDamage = (byte)(ai.numAttackedAndDamage & 0xF);

/*  350 */     lea.readInt();
/*  351 */     ai.skillId = lea.readInt();
/*  352 */     Skill skill = SkillFactory.getSkill(ai.skillId);
/*  353 */     ai.skllv = (byte)lea.readInt();
/*  354 */     lea.readInt();
/*  355 */     lea.readInt();
/*  356 */     lea.readInt();

/*  358 */     lea.readByte();
/*  359 */     ai.starSlot = lea.readShort();
/*  360 */     lea.readInt();
/*  361 */     lea.readByte();
/*  362 */     lea.readByte();
/*  363 */     lea.readByte();
/*  364 */     lea.readInt();


/*  367 */     lea.readInt();
/*  368 */     lea.readByte();

/*  370 */     if (is_Magic_skill(ai.skillId)) {
/*  371 */       lea.readInt();
     }
/*  373 */     lea.readByte();
/*  374 */     lea.readByte();
/*  375 */     ai.display = lea.readByte();
/*  376 */     ai.direction = lea.readByte();
/*  377 */     ai.position = lea.readPos();
/*  378 */     lea.readByte();
/*  379 */     if (is_evan_force_skill(ai.skillId)) {
/*  380 */       lea.readByte();
     }
/*  382 */     ai.speed = lea.readByte();
/*  383 */     ai.lastAttackTickCount = lea.readInt();
/*  384 */     lea.readInt();




/*  389 */     ai.allDamage = new ArrayList<>();
/*  390 */     ai.AttackSubInfo = new AttackSubInfo();
/*  391 */     boolean isOutput = false;
/*  392 */     long maxDamagePerHit = chr.getMaxDamageOver(ai.skillId);

/*  394 */     for (int i = 0; i < ai.numAttacked; i++) {
/*  395 */       int oid = lea.readInt();
/*  396 */       ai.AttackSubInfo.asibyteunk1 = lea.readByte();
/*  397 */       ai.AttackSubInfo.asibyteunk2 = lea.readByte();
/*  398 */       ai.AttackSubInfo.asibyteunk3 = lea.readByte();
/*  399 */       ai.AttackSubInfo.asibyteunk4 = lea.readByte();
/*  400 */       ai.AttackSubInfo.asibyteunk5 = lea.readByte();
/*  401 */       ai.AttackSubInfo.asiintunk1 = lea.readInt();
/*  402 */       ai.AttackSubInfo.asibyteunk6 = lea.readByte();
/*  403 */       ai.AttackSubInfo.asishortunk1 = lea.readShort();
/*  404 */       ai.AttackSubInfo.asishortunk2 = lea.readShort();
/*  405 */       ai.AttackSubInfo.asishortunk3 = lea.readShort();
/*  406 */       ai.AttackSubInfo.asishortunk4 = lea.readShort();
/*  407 */       lea.readByte();
/*  408 */       ai.AttackSubInfo.asishortunk5 = lea.readShort();
/*  409 */       ai.AttackSubInfo.asiintunk2 = lea.readInt();
/*  410 */       ai.AttackSubInfo.asiintunk3 = lea.readInt();
/*  411 */       List<Pair<Long, Boolean>> allDamageNumbers = new ArrayList<>();
/*  412 */       for (int j = 0; j < ai.numDamage; j++) {
/*  413 */         long damage = lea.readLong();

/*  415 */         if (chr.isAdmin()) {
/*  416 */           chr.dropDebugMessage(2, "[魔法攻击] 怪物ID: " + oid + " 打怪次数: " + ai.numDamage + " 伤害: " + damage + " 技能ID: " + SkillFactory.getSkillName(ai.skillId) + "(" + ai.skillId + ")");
         }
/*  418 */         allDamageNumbers.add(new Pair(Long.valueOf(damage), Boolean.valueOf(false)));
       }
/*  420 */       ai.AttackSubInfo.asiintunk4 = lea.readInt();
/*  421 */       ai.AttackSubInfo.asiintunk5 = lea.readInt();


/*  424 */       ai.AttackSubInfo.asibyteunk7 = lea.readByte();
/*  425 */       ai.AttackSubInfo.asibyteunk8 = lea.readByte();

/*  427 */       ai.AttackSubInfo.asishortunk6 = lea.readShort();
/*  428 */       ai.AttackSubInfo.asishortunk7 = lea.readShort();
/*  429 */       ai.AttackSubInfo.asishortunk8 = lea.readShort();
/*  430 */       ai.AttackSubInfo.asishortunk9 = lea.readShort();
/*  431 */       ai.AttackSubInfo.asishortunk10 = lea.readShort();
/*  432 */       ai.AttackSubInfo.asishortunk11 = lea.readShort();
/*  433 */       lea.skip(1);
/*  434 */       ai.allDamage.add(new AttackPair(oid, allDamageNumbers));
     }

/*  437 */     ai.position = lea.readPos();
/*  438 */     if (is_超能力者技能(ai.skillId)) {
/*  439 */       lea.readByte();
     }
/*  441 */     lea.readByte();

/*  443 */     return ai;
   }

   public static AttackInfo 解析弩骑集束箭攻击数据包(LittleEndianAccessor lea, MapleClient c, MapleCharacter chr) {
/*  447 */     AttackInfo ai = new AttackInfo();
/*  448 */     ai.isCloseRangeAttack = true;
/*  449 */     lea.readByte();
/*  450 */     ai.numAttackedAndDamage = lea.readByte();
/*  451 */     ai.numAttacked = (byte)(ai.numAttackedAndDamage >>> 4 & 0xF);
/*  452 */     ai.numDamage = (byte)(ai.numAttackedAndDamage & 0xF);
/*  453 */     lea.readInt();
/*  454 */     ai.skillId = lea.readInt();
/*  455 */     Skill skill = SkillFactory.getSkill(ai.skillId);
/*  456 */     ai.skllv = (byte)lea.readInt();
/*  457 */     lea.readInt();
/*  458 */     lea.readInt();
/*  459 */     lea.readInt();

/*  461 */     lea.readByte();
/*  462 */     ai.starSlot = lea.readShort();
/*  463 */     lea.readInt();
/*  464 */     lea.readByte();
/*  465 */     lea.readByte();
/*  466 */     lea.readByte();
/*  467 */     lea.readInt();

/*  469 */     lea.readInt();
/*  470 */     lea.readByte();
/*  471 */     if (is_zero_skill(ai.skillId)) {
/*  472 */       lea.readByte();
     }
/*  474 */     lea.readByte();
/*  475 */     lea.readByte();
/*  476 */     ai.display = lea.readByte();
/*  477 */     ai.direction = lea.readByte();
/*  478 */     ai.position = lea.readPos();
/*  479 */     lea.readByte();
/*  480 */     ai.speed = lea.readByte();
/*  481 */     ai.lastAttackTickCount = lea.readInt();
/*  482 */     lea.readInt();
/*  483 */     lea.readInt();



/*  487 */     ai.allDamage = new ArrayList<>();
/*  488 */     ai.AttackSubInfo = new AttackSubInfo();
/*  489 */     boolean isOutput = false;
/*  490 */     long maxDamagePerHit = chr.getMaxDamageOver(ai.skillId);

/*  492 */     for (int i = 0; i < ai.numAttacked; i++) {
/*  493 */       int oid = lea.readInt();
/*  494 */       ai.AttackSubInfo.asibyteunk1 = lea.readByte();
/*  495 */       ai.AttackSubInfo.asibyteunk2 = lea.readByte();
/*  496 */       ai.AttackSubInfo.asibyteunk3 = lea.readByte();
/*  497 */       ai.AttackSubInfo.asibyteunk4 = lea.readByte();
/*  498 */       ai.AttackSubInfo.asibyteunk5 = lea.readByte();
/*  499 */       ai.AttackSubInfo.asiintunk1 = lea.readInt();
/*  500 */       ai.AttackSubInfo.asibyteunk6 = lea.readByte();
/*  501 */       ai.AttackSubInfo.asishortunk1 = lea.readShort();
/*  502 */       ai.AttackSubInfo.asishortunk2 = lea.readShort();
/*  503 */       ai.AttackSubInfo.asishortunk3 = lea.readShort();
/*  504 */       ai.AttackSubInfo.asishortunk4 = lea.readShort();
/*  505 */       ai.AttackSubInfo.asishortunk5 = lea.readShort();
/*  506 */       ai.AttackSubInfo.asiintunk2 = lea.readInt();
/*  507 */       ai.AttackSubInfo.asiintunk3 = lea.readInt();
/*  508 */       List<Pair<Long, Boolean>> allDamageNumbers = new ArrayList<>();
/*  509 */       for (int j = 0; j < ai.numDamage; j++) {
/*  510 */         long damage = lea.readLong();
/*  511 */         if (chr.isAdmin()) {
/*  512 */           chr.dropDebugMessage(2, "[集束箭攻击] 怪物ID: " + oid + " 打怪次数: " + ai.numDamage + " 伤害: " + damage + " 技能ID: " + SkillFactory.getSkillName(ai.skillId) + "(" + ai.skillId + ")");
         }
/*  514 */         allDamageNumbers.add(new Pair(Long.valueOf(damage), Boolean.valueOf(false)));
       }
/*  516 */       ai.AttackSubInfo.asiintunk4 = lea.readInt();
/*  517 */       ai.AttackSubInfo.asiintunk5 = lea.readInt();


/*  520 */       ai.AttackSubInfo.asibyteunk7 = lea.readByte();
/*  521 */       ai.AttackSubInfo.asibyteunk8 = lea.readByte();

/*  523 */       ai.AttackSubInfo.asishortunk6 = lea.readShort();
/*  524 */       ai.AttackSubInfo.asishortunk7 = lea.readShort();
/*  525 */       ai.AttackSubInfo.asishortunk8 = lea.readShort();
/*  526 */       ai.AttackSubInfo.asishortunk9 = lea.readShort();
/*  527 */       ai.AttackSubInfo.asishortunk10 = lea.readShort();
/*  528 */       ai.AttackSubInfo.asishortunk11 = lea.readShort();
/*  529 */       lea.skip(1);
/*  530 */       ai.allDamage.add(new AttackPair(oid, allDamageNumbers));
     }

/*  533 */     ai.position = lea.readPos();
/*  534 */     if (lea.available() >= 4L) {
/*  535 */       ai.skillposition = lea.readPos();
     }
/*  537 */     return ai;
   }


   public static AttackInfo 解析近距离攻击数据包(LittleEndianAccessor lea, MapleClient c, MapleCharacter chr) {
/*  542 */     AttackInfo ai = new AttackInfo();
/*  543 */     ai.isCloseRangeAttack = true;
/*  544 */     lea.readByte();
/*  545 */     ai.numAttackedAndDamage = lea.readByte();
/*  546 */     ai.numAttacked = (byte)(ai.numAttackedAndDamage >>> 4 & 0xF);
/*  547 */     ai.numDamage = (byte)(ai.numAttackedAndDamage & 0xF);
/*  548 */     lea.readInt();
/*  549 */     ai.skillId = lea.readInt();
/*  550 */     Skill skill = SkillFactory.getSkill(ai.skillId);
/*  551 */     ai.skllv = (byte)lea.readInt();
/*  552 */     lea.readByte();
/*  553 */     lea.readInt();
/*  554 */     lea.readInt();
/*  555 */     lea.readInt();


/*  558 */     lea.readByte();
/*  559 */     ai.cashSlot = lea.readShort();
/*  560 */     lea.readInt();
/*  561 */     lea.readByte();
/*  562 */     lea.readByte();
/*  563 */     lea.readByte();
/*  564 */     lea.readInt();

/*  566 */     lea.readInt();
/*  567 */     int unk1 = lea.readByte();
/*  568 */     if (unk1 != 0) {
/*  569 */       int 选择 = lea.readInt();
/*  570 */       if (选择 >= 1) {
/*  571 */         switch (选择) {
           case 1:
/*  573 */             if (lea.readByte() != 0) {
/*  574 */               lea.readInt();
/*  575 */               lea.readInt();
/*  576 */               lea.readInt();
             }
             break;
           case 2:
/*  580 */             if (lea.readByte() != 0);
             break;


           case 3:
/*  585 */             if (lea.readByte() != 0) {
/*  586 */               lea.readByte();
/*  587 */               lea.readInt();
             }
             break;
           case 4:
/*  591 */             lea.readByte();
             break;
           case 5:
/*  594 */             lea.readByte();
             break;
           case 6:
/*  597 */             lea.readByte();
             break;
           case 7:
/*  600 */             if (lea.readByte() != 0) {
/*  601 */               lea.readInt();
/*  602 */               lea.readInt();
/*  603 */               lea.readByte();
             }
             break;
           case 8:
/*  607 */             if (lea.readByte() != 0) {
/*  608 */               lea.readInt();
/*  609 */               lea.readInt();
/*  610 */               lea.readInt();
/*  611 */               lea.readInt();
             }
             break;
           case 9:
/*  615 */             if (lea.readByte() != 0) {
/*  616 */               lea.readInt();
/*  617 */               lea.readInt();
/*  618 */               lea.readInt();
/*  619 */               lea.readInt();
             }
             break;
           case 10:
           case 11:
           case 12:
           case 13:
           case 14:
           case 15:
           case 16:
           case 20:
/*  630 */             lea.readByte();
             break;
           case 21:
/*  633 */             if (lea.readByte() != 0) {
/*  634 */               lea.readInt();
/*  635 */               lea.readInt();
/*  636 */               lea.readInt();
/*  637 */               lea.readInt();
/*  638 */               lea.readInt();
/*  639 */               lea.readInt();
/*  640 */               lea.readInt();
/*  641 */               lea.readInt();
             }
             break;
           case 22:
/*  645 */             if (lea.readByte() != 0) {
/*  646 */               int x = lea.readInt();
/*  647 */               if (x > 0) {
                 do {
/*  649 */                   lea.readInt();
/*  650 */                   lea.readInt();
/*  651 */                   lea.readInt();

/*  653 */                   --x;
                 }
/*  655 */                 while (x > 0);
               }
             }
             break;
         }
/*  660 */         lea.readInt();
       }
     }




/*  667 */     if (is_keydown_skill(ai.skillId) || is_super_nova_skill(ai.skillId))
/*  668 */       lea.readInt();
/*  669 */     if (is_zero_skill(ai.skillId))
/*  670 */       lea.readByte();
/*  671 */     if (is_userclone_summoned_able_skill(ai.skillId)) {
/*  672 */       lea.readInt();
     }
/*  674 */     if (ai.skillId == 5111009) {
/*  675 */       lea.readByte();
     }
/*  677 */     if (ai.skillId == 25111005 || ai.skillId == 80002247) {
/*  678 */       lea.readInt();
     }
/*  680 */     if (ai.skillId == 14111022 || ai.skillId == 14111023) {
/*  681 */       lea.readInt();
/*  682 */       lea.readInt();
     }

/*  685 */     lea.readByte();
/*  686 */     lea.readByte();
/*  687 */     ai.display = lea.readByte();
/*  688 */     ai.direction = lea.readByte();
/*  689 */     ai.position = lea.readPos();
/*  690 */     lea.readByte();
/*  691 */     ai.speed = lea.readByte();
/*  692 */     ai.lastAttackTickCount = lea.readInt();
/*  693 */     lea.readInt();
/*  694 */     lea.readInt();



/*  698 */     ai.allDamage = new ArrayList<>();
/*  699 */     ai.AttackSubInfo = new AttackSubInfo();
/*  700 */     boolean isOutput = false;
/*  701 */     long maxDamagePerHit = chr.getMaxDamageOver(ai.skillId);
/*  702 */     for (int i = 0; i < ai.numAttacked; i++) {
/*  703 */       int oid = lea.readInt();


















/*  722 */       ai.AttackSubInfo.asibyteunk1 = lea.readByte();
/*  723 */       ai.AttackSubInfo.asibyteunk2 = lea.readByte();
/*  724 */       ai.AttackSubInfo.asibyteunk3 = lea.readByte();
/*  725 */       ai.AttackSubInfo.asibyteunk4 = lea.readByte();
/*  726 */       ai.AttackSubInfo.asibyteunk5 = lea.readByte();
/*  727 */       ai.AttackSubInfo.asiintunk1 = lea.readInt();
/*  728 */       ai.AttackSubInfo.asibyteunk6 = lea.readByte();
/*  729 */       ai.AttackSubInfo.asishortunk1 = lea.readShort();
/*  730 */       ai.AttackSubInfo.asishortunk2 = lea.readShort();
/*  731 */       ai.AttackSubInfo.asishortunk3 = lea.readShort();
/*  732 */       ai.AttackSubInfo.asishortunk4 = lea.readShort();
/*  733 */       ai.AttackSubInfo.asishortunk5 = lea.readShort();
/*  734 */       ai.AttackSubInfo.asiintunk2 = lea.readInt();
/*  735 */       ai.AttackSubInfo.asiintunk3 = lea.readInt();
/*  736 */       List<Pair<Long, Boolean>> allDamageNumbers = new ArrayList<>();
/*  737 */       for (int j = 0; j < ai.numDamage; j++) {
/*  738 */         long damage = lea.readLong();

/*  740 */         if (chr.isAdmin()) {
/*  741 */           chr.dropDebugMessage(2, "[近距离] 怪物ID: " + oid + " 打怪次数: " + ai.numDamage + " 伤害: " + damage + " 技能ID: " + SkillFactory.getSkillName(ai.skillId) + "(" + ai.skillId + ")");
         }
/*  743 */         allDamageNumbers.add(new Pair(Long.valueOf(damage), Boolean.valueOf(false)));
       }














/*  759 */       ai.AttackSubInfo.asiintunk4 = lea.readInt();
/*  760 */       ai.AttackSubInfo.asiintunk5 = lea.readInt();


/*  763 */       ai.AttackSubInfo.asibyteunk7 = lea.readByte();
/*  764 */       ai.AttackSubInfo.asibyteunk8 = lea.readByte();

/*  766 */       ai.AttackSubInfo.asishortunk6 = lea.readShort();
/*  767 */       ai.AttackSubInfo.asishortunk7 = lea.readShort();
/*  768 */       ai.AttackSubInfo.asishortunk8 = lea.readShort();
/*  769 */       ai.AttackSubInfo.asishortunk9 = lea.readShort();
/*  770 */       ai.AttackSubInfo.asishortunk10 = lea.readShort();
/*  771 */       ai.AttackSubInfo.asishortunk11 = lea.readShort();
/*  772 */       lea.skip(1);
/*  773 */       ai.allDamage.add(new AttackPair(oid, allDamageNumbers));
     }

/*  776 */     ai.position = lea.readPos();
/*  777 */     if (lea.available() >= 4L) {
/*  778 */       ai.skillposition = lea.readPos();
     }
/*  780 */     return ai;
   }






   public static boolean is_Magic_skill(int skillid) {
     boolean v3;
/*  790 */     if (skillid > 61111113) {
/*  791 */       if (skillid > 80011564) {
/*  792 */         if (skillid > 400001018) {
/*  793 */           if (skillid < 400031003 || (skillid > 400031004 && skillid != 400031036))
/*  794 */             return false;
/*  795 */           return true;
         }
/*  797 */         if (skillid == 400001018 || skillid == 101120200)
/*  798 */           return true;
/*  799 */         int v2 = skillid - 101120203;
/*  800 */         boolean v1 = (skillid == 101120203);
/*  801 */         if (v1)
/*  802 */           return true;
/*  803 */         v3 = (v2 == 2);
/*  804 */         if (!v3)
/*  805 */           return false;
/*  806 */         return true;
       }
/*  808 */       if (skillid == 80011564)
/*  809 */         return true;
/*  810 */       if (skillid > 80002300) {
/*  811 */         if (skillid == 80011380)
/*  812 */           return true;
/*  813 */         v3 = (skillid - 80011380 == 6);
       } else {
/*  815 */         if (skillid == 80002300 || skillid == 61111218 || skillid == 64101002)
/*  816 */           return true;
/*  817 */         v3 = (skillid == 80002247);
       }
     } else {
/*  820 */       if (skillid == 61111113)
/*  821 */         return true;
/*  822 */       if (skillid > 22140024) {
/*  823 */         if (skillid > 42120000) {
/*  824 */           if (skillid == 42120003)
/*  825 */             return true;
/*  826 */           if (skillid == 42121000)
/*  827 */             return true;
/*  828 */           v3 = (skillid == 61111100);
         } else {
/*  830 */           if (skillid == 42120000 || skillid == 27121201 || skillid == 31201001)
/*  831 */             return true;
/*  832 */           v3 = (skillid == 40021186);
         }
       } else {
/*  835 */         if (skillid == 22140024)
/*  836 */           return true;
/*  837 */         if (skillid <= 5301001) {
/*  838 */           if (skillid == 5301001 || skillid == 2221012 || skillid == 2221011)
/*  839 */             return true;
/*  840 */           int v2 = skillid - 5101012;
/*  841 */           boolean v1 = (skillid == 5101012);
/*  842 */           if (v1)
/*  843 */             return true;
/*  844 */           boolean bool1 = (v2 == 2);
/*  845 */           if (!bool1)
/*  846 */             return false;
/*  847 */           return true;
         }


/*  851 */         if (skillid == 12121001 || skillid == 14111022)
/*  852 */           return true;
/*  853 */         v3 = (skillid == 22140015);
       }
     }

/*  857 */     if (!v3)
/*  858 */       return false;
/*  859 */     return true;
   }



   public static boolean is_超能力者技能(int skillid) {
     boolean v1;
/*  866 */     if (skillid > 142120002) {
/*  867 */       v1 = (skillid == 142120014);
     } else {
/*  869 */       if (skillid >= 142120001 || skillid == 142110003)
/*  870 */         return true;
/*  871 */       v1 = (skillid == 142110015);
     }
/*  873 */     if (!v1)
/*  874 */       return false;
/*  875 */     return true;
   }






   public static boolean is_evan_force_skill(int nSkillID) {
/*  884 */     if (nSkillID > 22141012) {
       boolean v2;
/*  886 */       if (nSkillID > 400021012) {
/*  887 */         v2 = (nSkillID == 400021046);
       } else {
/*  889 */         if (nSkillID == 400021012)
/*  890 */           return true;
/*  891 */         if (nSkillID < 22171062)
/*  892 */           return false;
/*  893 */         if (nSkillID <= 22171063)
/*  894 */           return true;
/*  895 */         v2 = (nSkillID == 80001894);
       }

/*  898 */       if (!v2)
/*  899 */         return false;
/*  900 */       return true;
     }
/*  902 */     if (nSkillID >= 22141011)
/*  903 */       return true;
/*  904 */     if (nSkillID > 22110992) {

/*  906 */       boolean v2 = (nSkillID == 22140022 || nSkillID == 22111012 || nSkillID == 22111011);
/*  907 */       if (!v2)
/*  908 */         return false;
/*  909 */       return true;
     }
/*  911 */     if (nSkillID == 22110992 || (nSkillID <= 22110992 && (nSkillID >= 22110992 || (nSkillID >= 22110022 && nSkillID <= 22110023))))
     {

/*  914 */       return true;
     }

/*  917 */     return false;
   }


   public static boolean is_userclone_summoned_able_skill(int skillid) {
/*  922 */     boolean v2 = false;
/*  923 */     int a1 = skillid;
/*  924 */     if (a1 > 23111003) {
/*  925 */       if (a1 > 131001108) {
/*  926 */         if (a1 <= 131001213) {
/*  927 */           if (a1 != 131001213) {
/*  928 */             switch (a1) {
               case 131001113:
               case 131001201:
               case 131001202:
               case 131001203:
               case 131001208:
/*  934 */                 return true;
             }
/*  936 */             return false;
           }


/*  940 */           return true;
         }
/*  942 */         if (a1 == 131001313 || a1 == 131002010)
/*  943 */           return true;
/*  944 */         v2 = (a1 == 400031024);
       } else {
/*  946 */         if (a1 == 131001108)
/*  947 */           return true;
/*  948 */         if (a1 > 131001005) {
/*  949 */           switch (a1) {
             case 131001008:
             case 131001010:
             case 131001011:
             case 131001012:
             case 131001013:
             case 131001101:
             case 131001102:
             case 131001103:
             case 131001104:
/*  959 */               return true;
           }
/*  961 */           return false;
         }


/*  965 */         if (a1 >= 131001000)
/*  966 */           return true;
/*  967 */         if (a1 > 23121003) {
/*  968 */           v2 = (a1 == 23121052);
         } else {
/*  970 */           if (a1 >= 23121002 || a1 == 23120013)
/*  971 */             return true;
/*  972 */           v2 = (a1 == 23121000);
         }
       }
/*  975 */       if (v2)
/*  976 */         return true;
/*  977 */       return false;
     }
/*  979 */     if (a1 == 23111000)
/*  980 */       return true;
/*  981 */     if (a1 > 14111023) {
/*  982 */       if (a1 > 23100004) {
/*  983 */         if (a1 <= 23101007) {
/*  984 */           if (a1 == 23101007)
/*  985 */             return true;
/*  986 */           if (a1 >= 23101000) {
/*  987 */             if (a1 > 23101001)
/*  988 */               return false;
/*  989 */             return true;
           }
/*  991 */           return false;
         }
/*  993 */         v2 = (a1 == 23110006);
       } else {
/*  995 */         if (a1 == 23100004)
/*  996 */           return true;
/*  997 */         if (a1 > 14121002) {
/*  998 */           v2 = (a1 == 23001000);
         } else {
/* 1000 */           if (a1 >= 14121001)
/* 1001 */             return true;
/* 1002 */           v2 = (a1 == 14120045);
         }
       }

/* 1006 */       if (v2)
/* 1007 */         return true;
/* 1008 */       return false;
     }
/* 1010 */     if (a1 == 14111020)
/* 1011 */       return true;
/* 1012 */     if (a1 > 11121103) {
/* 1013 */       if (a1 > 14001020) {
/* 1014 */         if (a1 >= 14101020) {
/* 1015 */           if (a1 > 14101021)
/* 1016 */             return false;
/* 1017 */           return true;
         }
       } else {
/* 1020 */         if (a1 == 14001020)
/* 1021 */           return true;
/* 1022 */         if (a1 >= 11121201) {
/* 1023 */           if (a1 > 11121203)
/* 1024 */             return false;
/* 1025 */           return true;
         }
       }
     } else {
/* 1029 */       if (a1 >= 11121101)
/* 1030 */         return true;
/* 1031 */       if (a1 <= 11111121) {
/* 1032 */         if (a1 < 11111120) {
/* 1033 */           switch (a1) {
             case 11101120:
             case 11101121:
             case 11101220:
             case 11101221:
/* 1038 */               return true;
           }
/* 1040 */           return false;
         }


/* 1044 */         return true;
       }
/* 1046 */       if (a1 >= 11111220 && a1 <= 11111221)
/* 1047 */         return true;
     }
/* 1049 */     return false;
   }



   public static boolean is_userclone_summoned_able_skill_LABEL_49(int skillid, boolean v2) {
/* 1055 */     if (v2)
/* 1056 */       return true;
/* 1057 */     return false;
   }























































   public static boolean is_zero_skill(int skillid) {
/* 1115 */     int v1 = skillid / 10000;
/* 1116 */     if (skillid / 10000 - 8000 <= 1)
/* 1117 */       v1 = skillid / 100;
/* 1118 */     return (v1 == 10000 || v1 == 10100 || v1 == 10110 || v1 == 10111 || v1 == 10112);
   }

   public static boolean is_super_nova_skill(int skillid) {
/* 1122 */     return (skillid == 4221052 || skillid == 65121052 || skillid == 31201001 || skillid == 25111005);
   }

   public static boolean is_keydown_skill(int skillid) {
/* 1126 */     boolean v1 = false;
/* 1127 */     if (skillid <= 35121015) {

/* 1129 */       if (skillid == 35121015)
/* 1130 */         return true;
/* 1131 */       if (skillid > 14111006) {
/* 1132 */         if (skillid > 27101202) {
/* 1133 */           if (skillid > 31111005) {
/* 1134 */             if (skillid > 33121114) {
/* 1135 */               v1 = (skillid == 33121214);
             } else {
/* 1137 */               if (skillid == 33121114 || skillid == 31211001)
/* 1138 */                 return true;
/* 1139 */               v1 = (skillid == 33121009);
             }
           } else {

/* 1143 */             if (skillid == 31111005)
/* 1144 */               return true;
/* 1145 */             if (skillid > 31001000) {
/* 1146 */               v1 = (skillid == 31101000);
             } else {
/* 1148 */               if (skillid == 31001000 || skillid == 27111100)
/* 1149 */                 return true;
/* 1150 */               v1 = (skillid == 30021238);
             }
           }
         } else {
/* 1154 */           if (skillid == 27101202)
/* 1155 */             return true;
/* 1156 */           if (skillid > 23121000) {
/* 1157 */             if (skillid > 25111005) {
/* 1158 */               v1 = (skillid == 25121030);
             } else {
/* 1160 */               if (skillid == 25111005 || skillid == 24121000)
/* 1161 */                 return true;
/* 1162 */               v1 = (skillid - 24121000 == 5);
             }
           } else {
/* 1165 */             if (skillid == 23121000)
/* 1166 */               return true;
/* 1167 */             if (skillid > 21120019) {
/* 1168 */               v1 = (skillid == 22171083);
             } else {
/* 1170 */               if (skillid >= 21120018 || skillid == 14121004)
/* 1171 */                 return true;
/* 1172 */               v1 = (skillid == 20041226);
             }
           }
         }
       } else {
/* 1177 */         if (skillid == 14111006)
/* 1178 */           return true;
/* 1179 */         if (skillid > 5221004) {

/* 1181 */           if (skillid > 11121052) {
/* 1182 */             if (skillid > 13111020) {
/* 1183 */               v1 = (skillid == 13121001);
             } else {
/* 1185 */               if (skillid == 13111020 || skillid == 11121055)
/* 1186 */                 return true;
/* 1187 */               v1 = (skillid == 12121054);
             }
           } else {
/* 1190 */             if (skillid == 11121052)
/* 1191 */               return true;
/* 1192 */             if (skillid > 5721001) {
/* 1193 */               v1 = (skillid == 5721061);
             } else {
/* 1195 */               if (skillid == 5721001 || skillid == 5311002)
/* 1196 */                 return true;
/* 1197 */               v1 = (skillid == 5700010);
             }
           }
         } else {
/* 1201 */           if (skillid == 5221004)
/* 1202 */             return true;
/* 1203 */           if (skillid > 3101008) {
/* 1204 */             if (skillid > 4341002) {
/* 1205 */               v1 = (skillid == 5081002);
             } else {
/* 1207 */               if (skillid == 4341002 || skillid == 3111013)
/* 1208 */                 return true;
/* 1209 */               v1 = (skillid == 3121020);
             }
           } else {

/* 1213 */             if (skillid == 3101008)
/* 1214 */               return true;
/* 1215 */             if (skillid > 2221052) {
/* 1216 */               v1 = (skillid == 2321001);
             } else {
/* 1218 */               if (skillid == 2221052 || skillid == 1311011)
/* 1219 */                 return true;
/* 1220 */               v1 = (skillid == 2221011);
             }
           }
         }
       }
/* 1225 */       if (!v1) {
/* 1226 */         return keydownUnkReturn(skillid);
       }
/* 1228 */       return true;
     }


/* 1232 */     if (skillid <= 80011371) {
/* 1233 */       if (skillid == 80011371)
/* 1234 */         return true;
/* 1235 */       if (skillid > 64001008) {
/* 1236 */         if (skillid > 80002685) {
/* 1237 */           if (skillid > 80011362) {
/* 1238 */             v1 = (skillid == 80011366);
           } else {
/* 1240 */             if (skillid == 80011362 || skillid == 80011040)
/* 1241 */               return true;
/* 1242 */             v1 = (skillid - 80011040 == 11);
           }
         } else {
/* 1245 */           if (skillid == 80002685)
/* 1246 */             return true;
/* 1247 */           if (skillid > 80001836) {
/* 1248 */             v1 = (skillid == 80001887);
           } else {
/* 1250 */             if (skillid == 80001836 || skillid == 64121002)
/* 1251 */               return true;
/* 1252 */             v1 = (skillid == 65121003);
           }
         }
       } else {
/* 1256 */         if (skillid >= 64001007)
/* 1257 */           return true;
/* 1258 */         if (skillid > 41121001) {
/* 1259 */           if (skillid > 60011216) {
/* 1260 */             v1 = (skillid == 64001000);
           } else {
/* 1262 */             if (skillid == 60011216 || skillid == 42121000)
/* 1263 */               return true;
/* 1264 */             v1 = (skillid - 42121000 == 100);
           }
         } else {
/* 1267 */           if (skillid == 41121001)
/* 1268 */             return true;
/* 1269 */           if (skillid > 37121003) {
/* 1270 */             v1 = (skillid == 37121052);
           } else {
/* 1272 */             if (skillid == 37121003 || skillid == 36101001)
/* 1273 */               return true;
/* 1274 */             v1 = (skillid == 36121000);
           }
         }
       }
/* 1278 */       if (!v1) {
/* 1279 */         return keydownUnkReturn(skillid);
       }
/* 1281 */       return true;
     }


/* 1285 */     if (skillid > 131001021) {
/* 1286 */       if (skillid > 400021061) {
/* 1287 */         if (skillid == 400041006 || skillid == 400041009)
/* 1288 */           return true;
/* 1289 */         v1 = (skillid - 400041009 == 10015);
       } else {
/* 1291 */         if (skillid == 400021061)
/* 1292 */           return true;
/* 1293 */         if (skillid > 400011072) {
/* 1294 */           v1 = (skillid == 400011091);
         } else {
/* 1296 */           if (skillid == 400011072 || skillid == 142111010)
/* 1297 */             return true;
/* 1298 */           v1 = (skillid == 400011028);
         }
       }
/* 1301 */       if (!v1) {
/* 1302 */         return keydownUnkReturn(skillid);
       }
/* 1304 */       return true;
     }


/* 1308 */     if (skillid >= 131001020)
/* 1309 */       return true;
/* 1310 */     if (skillid > 112001008) {
/* 1311 */       if (skillid > 131001004) {
/* 1312 */         v1 = (skillid == 131001008);
       } else {
/* 1314 */         if (skillid == 131001004 || skillid == 112110003)
/* 1315 */           return true;
/* 1316 */         v1 = (skillid == 112111016);
       }
/* 1318 */       if (!v1) {
/* 1319 */         return keydownUnkReturn(skillid);
       }
/* 1321 */       return true;
     }


/* 1325 */     if (skillid == 112001008)
/* 1326 */       return true;
/* 1327 */     if (skillid > 95001001) {
/* 1328 */       if (skillid >= 101110101 && skillid <= 101110102)
/* 1329 */         return true;
     } else {
/* 1331 */       if (skillid == 95001001)
/* 1332 */         return true;
/* 1333 */       if (skillid >= 80011381) {
/* 1334 */         if (skillid <= 80011382)
/* 1335 */           return true;
/* 1336 */         v1 = (skillid == 80011387);
/* 1337 */         if (!v1) {
/* 1338 */           return keydownUnkReturn(skillid);
         }
/* 1340 */         return true;
       }
     }


/* 1345 */     return false;
   }

   public static boolean keydownUnkReturn(int skillid) {
/* 1349 */     if (((skillid >= 80001389 && skillid <= 80001392) || skillid == 80001587 || skillid - 80001587 == 42 || skillid - 80001587 == 871) && skillid > 0) {
/* 1350 */       return true;
     }
/* 1352 */     switch (skillid) {
       case 5101012:
       case 5301001:
       case 23111001:
       case 23111002:
       case 23111003:
       case 23121011:
       case 27121201:
       case 61111100:
       case 400011068:
       case 400031003:
       case 400031004:
       case 400031024:
       case 400041039:
       case 400051007:
/* 1367 */         return true;
     }




/* 1373 */     return false;
   }
 }


/* Location:              C:\PGX\Server.jar!\handling\channel\handler\攻击解析.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */